Sensor Network Gateway

ABSTRACT

Disclosed are techniques for interfacing between first and second networks includes memory storing instructions that are executable and one or more processing devices to execute the instructions to perform operations including extracting a short address of a node on a first network, the short address being extracted from a first data packet operating under a first protocol for the first network, the first network being a wireless mesh network, generating a second packet operating under a second protocol for the second network, the second packet having a source address corresponding to a network address of the apparatus and a destination address corresponding to a device on the second network, the destination address being obtained using the short address, and outputting the second packet to the second network.

CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. §119(e) to provisional U.S. Patent Application 61/973,962, filed on Apr. 2, 2014, entitled: “Wireless Sensor Network”, and provisional U.S. Patent Application 61/946,054, filed on Feb. 28, 2014, entitled: “Wireless Sensor Network”, the entire contents of which are hereby incorporated by reference.

BACKGROUND

This specification relates generally to gateways for sensor networks that may be used in the operation of systems, such as security or alarm systems.

Wireless sensor network/wireless device based data collection systems having remote server-based monitoring and report generation are used in applications such as home safety monitoring, electrical and water utility meter monitoring, and human and asset tracking. For example, it is common for businesses and homeowners to have a security system for detecting alarm conditions at their premises and for signaling conditions to a monitoring station or to authorized users of the security system.

SUMMARY

According to an aspect, an apparatus for interfacing between first and second networks includes memory storing instructions that are executable and one or more processing devices to execute the instructions to perform operations including extracting a short address of a node on a first network, the short address being extracted from a first data packet operating under a first protocol for the first network, the first network being a wireless mesh network, generating a second packet operating under a second protocol for the second network, the second packet having a source address corresponding to a network address of the apparatus and a destination address corresponding to a device on the second network, the destination address being obtained using the short address, and outputting the second packet to the second network.

Aspects also include methods and computer program products.

Any two or more of the features described in this specification, including this summary section, may be combined to form implementations not specifically described herein.

All or part of the foregoing may be implemented as a computer program product comprised of instructions that are stored on one or more non-transitory machine-readable storage media or devices, and which are executable on one or more processing devices. All or part of the foregoing may be implemented as an apparatus, method, or network system that may include one or more processing devices and memory to store executable instructions to implement functionality.

The details of one or more examples are set forth in the accompanying drawings and the description below. Further features, aspects, and advantages will become apparent from the description, the drawings, and the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of an example networked security system.

FIG.2 is a block diagram of an example gateway between two different networks.

FIG. 3 is a flowchart showing an example process that may be performed by the gateway.

FIG. 4 is a block diagram of components of an example networked security system.

DETAILED DESCRIPTION

Described herein are examples of network features that may be used in various contexts including, but not limited to, security/intrusion and alarm systems. Example security systems may include an intrusion detection panel that is electrically or wirelessly connected to a variety of sensors. Those sensors types may include motion detectors, cameras, and proximity sensors (used, e.g., to determine whether a door or window has been opened). Typically, such systems receive a very simple signal (electrically open or closed) from one or more of these sensors to indicate that a particular condition being monitored has changed or become unsecure.

For example, typical intrusion systems can be set-up to monitor entry doors in a building. When a door is secured, a proximity sensor senses a magnetic contact and produces an electrically closed circuit. When the door is opened, the proximity sensor opens the circuit, and sends a signal to the panel indicating that an alarm condition has occurred (e.g., an opened entry door).

Data collection systems are becoming more common in some applications, such as home safety monitoring, electrical and water utility meter monitoring, and human and asset tracking. Data collection systems employ wireless sensor networks and wireless devices, and may include remote server-based monitoring and report generation. As described in more detail below, wireless sensor networks generally use a combination of wired and wireless links between computing devices, with wireless links usually used for the lowest level connections (e.g., end-node device to hub/gateway). In an example network, the edge (wirelessly-connected) tier of the network is comprised of resource-constrained devices with specific functions. These devices may have a small-to-moderate amount of processing power and memory, and may be battery powered, thus requiring that they conserve energy by spending much of their time in sleep mode. A typical model is one where the edge devices generally form a single wireless network in which each end-node communicates directly with its parent node in a hub-and-spoke-style architecture. The parent node may be, e.g., an access point on a gateway or a sub-coordinator which is, in turn, connected to the access point or another sub-coordinator.

FIG. 1 shows an example (global) distributed network topology 100 for an example Wireless Sensor Network (WSN). In this example network topology 100, upper tier 101 of the network may include traditional servers 103 and/or virtual servers running in a “cloud computing” environment and networked using appropriate networking technologies such as Internet connections or which can be private networks that use none or part of the Internet. Applications running on those servers may communicate using XML/SOAP, RESTful web service, and/or other appropriate application layer technologies such as HTTP and ATOM.

In example network topology 100, middle tier 104 may include gateways 105 located at central, convenient places inside individual buildings and structures. Such gateways may communicate with the upper tier servers and cloud applications using web programming techniques or other appropriate technologies. These gateways 105 communicate with servers 103 in the upper tier whether the servers are stand-alone dedicated servers and/or cloud based servers running cloud applications using web programming techniques. The middle tier gateways 105 are also shown with both local area network (e.g., Ethernet or 802.11) and cellular network interfaces.

In example network topology 100, lower tier (edge layer) 108 may include fully-functional sensor nodes 110 (wireless devices, marked in FIG. 1 with “F”) and constrained wireless sensor nodes or sensor end nodes. These end nodes include constrained devices 111 (marked in the FIG. 1 with “C”).

Constrained computing devices 111 as used herein are devices with substantially less persistent and volatile memory than other computing devices, examples of which include sensors in a detection system. Currently, examples of constrained devices would be those with less than about a megabye of flash/persistent memory, and less than 10-20 kilobytes (KB) of RAM/volatile memory). These constrained devices 111 are configured in this manner; generally due to cost/physical configuration considerations.

In some implementations, each gateway may be equipped with an access point (fully functional node or “F” node) physically attached thereto, which provides a wireless connection point to the other nodes in the wireless network. In example network topology 100, the communication links (illustrated by lines 113) shown in FIG. 1 are direct (single-hop network layer) connections between devices. A formal networking layer (that may function in each of the three tiers shown in FIG. 1) can use a series of these links, together with appropriate routing technology, to send messages (fragmented or unfragmented) from one device to another, over a physical distance, In other network topologies, each link may represent two or more hops and/or the configuration may be different than shown in FIG. 1.

In this example implementation, the WSN state function-based application layer uses an edge device operating system (not shown, but such as disclosed in the above mentioned provisional applications) that allows for loading and execution of individual functions (after the booting of the device) without rebooting the device (so-called “dynamic programming”). In other implementations, edge devices could use other operating systems provided such systems allow for loading and execution of individual functions (after the booting of the device) preferable without rebooting of the edge devices.

Example distributed network topology 100 may include or be part of a wireless mesh network. In some implementations, all of distributed network topology 100 is implemented wireless mesh technology. In some implementations, only part of distributed network topology 100 is implemented using wireless mesh technology. For example, in FIG. 1, in some implementations, upper tier 101 may be implemented using standard network technology, and middle tier 104 and lower tier 108 may be implemented as one or more wireless mesh networks. In some implementations, upper tier 101 and middle tier 104 may be implemented using standard network technology, and lower tier 108 may be implemented using one or more wireless mesh networks. For example, a different wireless mesh network may be associated with each gateway, or a single wireless mesh network may include all of the gateways shown in FIG. 1 (and others), as well as all or some functional and sensor nodes.

In some implementations, wireless mesh network includes a self-organizing wireless network, in which the network devices themselves establish communication links with one another. In the example implementations described herein, a wireless mesh network may be established between sensor, functional and/or gateway devices that are part of a larger building, or enterprise-wide system. In examples, such devices may be used for monitor and/or control in a security/intrusion, fire alarm, or other appropriate system. The devices report status information from their systems to a central monitoring service, which may include one or more host computing devices. For example, the central monitoring service may include one or more servers 103, in addition to other computing equipment. The central monitoring service may also send control commands, which the devices use for configuration and/or control.

As noted above, there may be multiple mesh networks in the topology of FIG. 1. Multiple mesh networks may occupy the same physical space, and devices therefor may overlap in that space. Data packets for different mesh networks may be differentiated, e.g., by different network group identifiers (ID). Thus, the networks remain logically separate even though they occupy the same physical space.

Wireless mesh networks may be established by one or more prospective network devices initiating communication to one or more other prospective network devices. For example, a first prospective network device (such as node 115) may output a packet identifying the first device (node 115) and in an attempt to locate other devices within the RF vicinity of the first device (node 115), with which the first prospective network device may connect. A second prospective network device (such as device 116) in that vicinity may respond and identify itself as a device that is available for connection to the first device. The two devices may then establish a connection through appropriate back-and-forth communications. This process, or other(s) like it, may be repeated either by both devices or by other devices until the mesh network is formed. In some implementations, at least one of the devices is initially in communication with an access point, gateway or other wired connection to the central monitoring service, enabling connection between the wireless mesh network and the central monitoring service. Upon connection to the wireless network, routing tables throughout the wireless network may be updated.

Devices may enter, e.g., become part of, a wireless mesh network in the manner described above, or using other appropriate protocol(s). Likewise, devices may also leave the wireless mesh network. For example, devices may be deactivated or lose power, causing the devices to leave the network. In some cases, loss of a single device may affect communication to one or more other devices on the network. For example, a single device may be the primary pathway over which communications to numerous other devices pass. As a result, loss of that device also interrupts that primary path, necessitating re-routing of communications through the wireless mesh network. This re-routing can affect the contents of routing tables in various network nodes, and may be performed using the protocol described above.

In an example implementation, a gateway 120 of FIG. 1 is configured to operate as an interface between a sensor network containing, e.g., functional (F) and sensor end nodes (C), and an external network containing, e.g., servers and other devices. FIG. 2 shows an example implementation of gateway 120 operating as an interface.

Referring to FIG. 2, a gateway 200 (which may be gateway 120 or any other gateway in network 100) provides an interface between two networks (e.g., upper tier 101 and lower tier 108 of FIG. 1). In the example implementations described herein, gateway 200 enables devices on one network 202 (e.g., lower tier 108) to communicate with devices on a second, external (e.g., IP-based) network 204 (e.g., upper tier 101) by converting data packets formatted for one network into data packets formatted for the other network. Gateway 200 may be implemented using any appropriate hardware, software, or a combination of hardware and software.

In an example implementation, network 202 is a wireless mesh network, as described above, and the external network 204 is an IPv4-based network, such as the Internet. Generally, IPv4 is a protocol/address suite currently in use for both internal intranets and the Internet. However, the example gateway and processes described herein may be used with other types of networks or combinations of networks.

Referring also to FIG. 3, gateway 200 is configured to perform the operations of process 300 to route data packets between network 202 and external network 204. As described below, gateway 200 obtains (e.g., acquires or is assigned) short address(s) of devices on network 202 (referred to herein as a “sensor network” because the network includes networked sensor devices (e.g., C of FIG. 1) in this example implementation). As noted above, in some implementations, a short address is a 2-byte/16-bit address that is randomly assigned in a single wired/wireless network to allow nodes to communicate with each other. Short addresses are typically linked to long network addresses (e.g., a 64-bit address or a 128-bit address used for full addressing), and are used for data compression.

In some example implementations, gateway 200 acquires the short address by receiving (301) a packet from a node 206 on the sensor network. This received packet may be in the UDPv6 (User Datagram Protocol version 6) protocol; however, different protocol(s) may be used. Generally, UDPv6 is a packet protocol used for communication between IPv6 devices on the Internet (a similar UDPv4 protocol is in place for IPv4 devices on the Internet). Generally, IPv6 is a protocol/address suite that is proposed to replace IPv4 to address issues arising from large numbers of nodes on a network. Among other things, IPv6 replaces 32-bit IPv4 addresses with 128-bit addresses.

The packet that gateway 200 receives contains node 206's short address in the packet's mesh header. Gateway 200 extracts (302) this short address from the packet's mesh header and stores (303) the short address in memory in association with an identifier, such as a random unique (e.g., 16-bit) number. Any appropriate identifier may be used. In this regard, if information about the source (node 206) is not already contained in memory, gateway 200 generates the identifier for the node and saves the identifier along with the source information from sensor network. If information about the source is already contained in memory, gateway 200 obtains the identifier from that information, and uses the identifier for storage.

Using the received packet from the sensor network, gateway 200 generates (304) a second, different packet for transmission over the external network. In some implementations, this second packet has an IPv4 protocol header; however, different types of headers may be used in other implementations. The type of header used depends on the protocol used on the external network.

This second packet includes a source address that corresponds to (e.g., is) the gateway's network address and a destination address on the external network (e.g., the address of device 208). Gateway 200 obtains the destination address using a function that may be implemented by, or accessed by, the gateway. For example, the function may be a computer program running on the gateway (e.g., as part of routing table 210), on a host computer at the central service, or on any other appropriate processing device. The function is referenced by (e.g., associated with) the incoming short address/port number contained in the received packet (e.g., the packet received from node 206 on the sensor network). In some implementations, the port number is a 2-byte number used in UDPv4 and UDPv6 to divide packets by function/application. The source port number of the second packet is set to a previously generated/looked-up number. Gateway 200 sends (305) the second packet out over the external network (e.g., the Internet) on the path to its destination.

After the second packet is sent, gateway 200 listens (306) for a reply on a port corresponding to (e.g., equal to) the source port number. When the gateway 200 receives (307) a packet (in this example implementation, a UDPv4 packet) on that port from external network 204 (e.g., the Inter)et), gateway 200 removes (308) the UDP/IP headers from the received packet. Gateway 200 also obtains (309) original source data for the packet from local memory using a port number in the received packet as a key. Gateway 200 generates (310) a compressed packet (in this example implementation, a UDPv6 compressed packet) using the original short address/port of node 206 as a destination and the address of gateway 200 as the source. That packet is then sent (311) out on the sensor network. Gateway 200 then listens (312) on that same port for a reply. The foregoing operations can be repeated.

The example implementations described herein use the IPv4 protocol, the IPv6 protocol, the UDPv4 protocol, and the UDPv6. In other implementations, different protocols or different combinations of these protocols with other protocols may be used.

Devices (e.g., nodes) in the sensor network may include, but are not limited to, sensors comprising, associated with, or that contain computing devices, such as those described herein, central processing units (CPUs), microelectromechanical (MEMs) devices, or the like.

Although the processes presented herein are described in the context of communications between a wireless mesh network (e.g., FIGS. 1 and 2) and an IP-based network, the processes may be used for communication between any two appropriate networks. For example, the processes may be used for communication between a wired controller network, e.g., (a Control Area Network (CAN), a Local Interconnect Network (LIN), or the like), and an IP-based or non-IP-based network.

Gateway 200 may include one or more computing devices that include, or have access to, non-transitory machine-readable storage, such as volatile and non-volatile computer memory, e.g., RAM, (not shown), storing executable instructions. Gateway 200 may also include one or more processing devices (e.g., microprocessors, programmable logic, application-specific integrated circuits, and so forth) to execute the instructions to implement the gateway functionality described herein. In some examples, gateway 200 may be implemented on a dedicated device, whereas in other implementations, gateway 200 may be implemented on a network device having additional or other functionality.

An example, non-limiting application of the WSN of FIGS. 1 to 3 is in a security system for intrusion detection, fire, toxic gas, monitor, etc. installed at one or more premises such as one or more residential houses or building(s) and especially in, e.g., commercial, industrial, buildings, complexes, etc.

In some typical intrusion detection system implementations, an intrusion detection panel is included, whereas in others more sophisticated management systems are included. Sensors/detectors may be disbursed throughout the premises. The intrusion detection system may be in communication with a central monitoring station (also referred to as central monitoring center)via one or more data or communication networks(only one shown), such as the Internet; the phone system, or cellular communication system.

The intrusion detection panel may be configured to receive signals from plural detectors/sensors that send, to the intrusion detection panel, information about the status of the monitored premises. Several types of sensor/detectors (unless otherwise noted are used interchangeably herein)may be used. One type of detector is a detector that sends a binary signal that indicates presence or absence of an event. Examples of these types of detectors include glass break detectors and contact switches. Another type of detector is a detector sends metadata that includes data resulting from processing applied by the detector to inputs received by the sensor. Examples of these types of detectors may include microphones, motion detectors, smart switches and cameras, recognition devices and so forth.

Some of the detectors' sensors may be hard wired but in general the detectors communicate with systems wirelessly over the WSN. In general, detectors sense glass breakage, motion, gas leaks, fire, and/or breach of an entry point, and send the sensed information over the WSN, as needed and appropriate. Based on the information received from the detectors, the intrusion detection panel determines whether to trigger alarms, e.g., by triggering one or more sirens (not shown) at the premise and/or sending alarm messages to the monitoring station.

As described above with respect to FIGS. 1 to 3, the WSN may include any combination of wired and wireless links that are capable of carrying packet and/or switched traffic, may span multiple carriers and a wide geography, and hay have the features discussed above. In an example implementation, portions of WSN may include the Internet. In another implementation, the WSN may include one or more wireless links, and may include a wireless data network, e.g., with tower such as a 2G, 3G, 4G or LTD cellular data network. The panel may be in communication with the network by way of Ethernet switch or router (not illustrated). The panel may include an Ethernet or similar interface, which may be wired or wireless. Further network components, such as access points, routers, switches, DSL modems, and the like possibly interconnecting the panel with the data network are not illustrated.

FIG. 4 shows an example of a security system having features of the WSN described with respect to FIGS. 1 to 3 and having the various functionalities described herein. As shown in FIG. 4, correlation processing receives inputs from certain constrained nodes (although these can also be fully functional nodes). These inputs may include credential information and video information, and the correlation processing may produce correlated results that are sent over the network. Context management processing receives inputs from certain constrained nodes (although these can also be fully functional nodes) e.g., credential information and video and grouping information, and performs context processing with results sent over the network. The network supports operation of emergency exit indicators; emergency cameras as well as distributed rule processing and rule engine/messaging processing. Range extenders are used with e.g., gateways, and a real time location system receives inputs from various sensors (e.g., constrained type)as shown. Servers interface to the WSN via a cloud computing configuration and parts of some networks can be run as sub-nets.

The sensors provide in addition to an indication that something is detected in an area within the range of the sensors, detailed additional information that can be used to evaluate what that indication may be without the intrusion detection panel being required to perform extensive analysis of inputs to the particular sensor.

For example, a motion detector could be configured to analyze the heat signature of a warm body moving in a room to determine if the body is that of a human or a pet. Results of that analysis would be a message or data that conveys information about the body detected. Various sensors thus are used to sense sound, motion, vibration, pressure, heat, images, and so forth, in an appropriate combination to detect a true or verified alarm condition at the intrusion detection panel.

Recognition software can be used to discriminate between objects that are a human and objects that are an animal; further facial recognition software can be built into video cameras and used to verify that the perimeter intrusion was the result of a recognized, authorized individual. Such video cameras would comprise a processor and memory and the recognition software to process inputs (captured images) by the camera and produce the metadata to convey information regarding recognition or lack of recognition of an individual captured by the video camera. The processing could also alternatively or in addition include information regarding characteristic of the individual in the area captured/monitored by the video camera. Thus, depending on the circumstances, the information would be either metadata received from enhanced motion detectors and video cameras that performed enhanced analysis on inputs to the sensor that gives characteristics of the perimeter intrusion or a metadata resulting from very complex processing that seeks to establish recognition of the object.

Sensor devices can integrate multiple sensors to generate more complex outputs so that the intrusion detection panel can utilize its processing capabilities to execute algorithms that analyze the environment by building virtual images or signatures of the environment to make an intelligent decision about the validity of a breach.

Memory stores program instructions and data used by the processor of the intrusion detection panel. The memory may be a suitable combination of random access memory and read-only memory, and may host suitable program instructions (e.g. firmware or operating software), and configuration and operating data and may be organized as a file system or otherwise. The stored program instruction may include one or more authentication processes for authenticating one or more users. The program instructions stored in the memory of the panel may further store software components allowing network communications and establishment of connections to the data network. The software components may, for example, include an internet protocol (IP) stack, as well as driver components for the various interfaces, including the interfaces and the keypad. Other software components suitable for establishing a connection and communicating across network will be apparent to those of ordinary skill.

Program instructions stored in the memory, along with configuration data may control overall operation of the panel.

The monitoring server includes one or more processing devices (e.g., microprocessors), a network interface and a memory (all not illustrated). The monitoring server may physically take the form of a rack mounted card and may be in communication with one or more operator terminals (not shown). An example monitoring server is a SURGARD™ SG-System III Virtual, or similar system

The processor of each monitoring server acts as a controller for each monitoring server, and is in communication with, and controls overall operation, of each server. The processor may include, or be in communication with, the memory that stores processor executable instructions controlling the overall operation of the monitoring server. Suitable software enable each monitoring server to receive alarms and cause appropriate actions to occur. Software may include a suitable Internet protocol (IP) stack and applications/clients.

Each monitoring server of the central monitoring station may be associated with an IP address and port(s) by which it communicates with the control panels and/or the user devices to handle alarm events, etc. The monitoring server address may be static, and thus always identify a particular one of monitoring server to the intrusion detection panels. Alternatively, dynamic addresses could be used, and associated with static domain names, resolved through a domain name service.

The network interface card interfaces with the network to receive incoming signals, and may for example take the form of an Ethernet network interface card (NIC). The servers may be computers, thin-clients, or the like, to which received data representative of an alarm event is passed for handling by human operators. The monitoring station may further include, or have access to, a subscriber database that includes a database under control of a database engine. The database may contain entries corresponding to the various subscriber devices/processes to panels like the panel that are serviced by the monitoring station.

All or part of the processes described herein and their various modifications (hereinafter referred to as “the processes”) can be implemented, at least in part, via a computer program product, i.e., a computer program tangibly embodied in one or more tangible, non-transitory machine-readable storage media for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers

A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a network.

Actions associated with implementing the processes can be performed by one or more programmable processors executing one or more computer programs to perform the functions of the calibration process. All or part of the processes can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only storage area or a random access storage area or both. Elements of a computer (including a server) include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from, or transfer data to, or both, one or more machine-readable storage media, such as mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage area, including by way of example, semiconductor storage area devices, e.g., EPROM, EEPROM, and flash storage area devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other actions may be provided, or actions may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Likewise, actions depicted in the figures may be performed by different entities or consolidated.

Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Elements may be left out of the processes, computer programs, etc. described herein without adversely affecting their operation. Furthermore, various separate elements may be combined into one or more individual elements to perform the functions described herein.

Other implementations not specifically described herein are also within the scope of the following claims. 

What is claimed is:
 1. An apparatus for interfacing between first and second networks, comprising: memory storing instructions that are executable; and one or more processing devices to execute the instructions to perform operations comprising: extracting a short address of a node on a first network, the short address being extracted from a first data packet operating under a first protocol for the first network, the first network being a wireless mesh network; generating a second packet operating under a second protocol for the second network, the second packet having a source address corresponding to a network address of the apparatus and a destination address corresponding to a device on the second network, the destination address being obtained using the short address; and outputting the second packet to the second network.
 2. The apparatus of claim 1, wherein the second packet is output over a port of the apparatus and the operations further comprise: storing, in memory, information about the node; receiving, on the port, a data packet from the second network; retrieving the information about the node from memory; generating a third packet having the first protocol based on the information retrieved; and outputting the third packet over the first network.
 3. The apparatus of claim 2, wherein the operations comprise: listening on the port for a reply to the second packet, the data packet received on the port corresponding to the reply.
 4. The apparatus of claim 2, wherein generating the third packet comprises addressing the third packet using original source data for the first data packet.
 5. The apparatus of claim 4, wherein generating the third packet comprises addressing the third packet using the short address.
 6. The apparatus of claim 1, wherein the first network is a sensor network and the second network is an Internet Protocol (IP)-based network.
 7. The apparatus of claim 1, wherein generating the second packet comprises: identifying a function based on the short address; and using the function to obtain the destination address.
 8. The apparatus of claim 1, wherein the second network is an Internet Protocol (IP) network.
 9. One or more non-transitory machine-readable storage media storing instructions that are executable to perform operations comprising: obtaining a short address of a node on a first network, the short address being obtained from a first data packet having a first protocol for the first network, the first network being a wireless mesh network; generating a second packet having a second protocol for the second network, the second packet having a source address corresponding to a network address of the one or more non-transitory machine-readable storage media and a destination address corresponding to a device on the second network, the destination address being obtained using the short address; and outputting the second packet to the second network.
 10. The one or more non-transitory machine-readable storage media of claim 9, wherein the second packet is output over a port of the one or more non-transitory machine-readable storage media; and wherein the operations further comprise: storing, in memory, information about the node; receiving, on the port, a data packet from the second network; retrieving the information about the node from memory; generating a third packet having the first protocol based on the information retrieved; and outputting the third packet over the first network.
 11. The one or more non-transitory machine-readable storage media of claim 10, wherein the operations comprise: listening on the port for a reply to the second packet, the data packet received on the port corresponding to the reply.
 12. The one or more non-transitory machine-readable storage media of claim 10, wherein generating the third packet comprises addressing the third packet using original source data for the first data packet.
 13. The one or more non-transitory machine-readable storage media of claim 12, wherein generating the third packet comprises addressing the third packet using the short address.
 14. The one or more non-transitory machine-readable storage media of claim 9, wherein the second network is an Internet Protocol (IP)-based network.
 15. A network comprising: sensor devices arranged in a wireless mesh network that supports a first protocol; one or more servers on a second network that supports a second protocol; and a gateway device to interface between the sensor devices and the one or more servers, the gateway device comprising one or more processing devices and non-transitory machine-readable storage storing instructions that are executable to perform operations comprising: obtaining a short address of a sensor on the wireless mesh network, the short address being obtained from a first data packet having a first protocol for the wireless mesh network, the first network being a wireless mesh network; generating a second packet having a second protocol for the second network, the second packet having a source address corresponding to a network address of the sensor and a destination address corresponding to a server on the second network, the destination address being obtained using the short address; and outputting the second packet to the second network. 